package edu.upc.clases.clase5.dao;

import edu.upc.clases.clase5.entity.Usuario;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * @Rolando prueba
 * @author gian
 * @Rolando Castro
 */
public class UsuarioDAO extends BaseDAO {
    
    public Integer insertar(Usuario usuario) {
        String insert = "insert into usuarios(nombre,correo) values (?,?)";
        List list = new ArrayList();
        list.add(usuario.getNombre());
        list.add(usuario.getCorreo());
        return this.insert(insert, list);
    }
    
    public void actualizar(Usuario usuario) {
        String update = "update usuarios set nombre = ?, correo = ? where id = ?";
        List list = new ArrayList();
        list.add(usuario.getNombre());
        list.add(usuario.getCorreo());
        list.add(usuario.getId());
        this.update(update, list);
    }
    
    public void eliminar(Usuario usuario) {
        String delete = "delete from usuarios where id = ?";
        this.delete(delete,usuario.getId());
    }
    
    public List<Usuario> buscar() {
        ResultSet rs = this.select("select * from usuarios");
        List<Usuario> listado = new ArrayList<Usuario>();
        try {
            while (rs.next()) {
                Usuario usuario = new Usuario();
                usuario.setId(rs.getInt(1));
                usuario.setNombre(rs.getString(2));
                usuario.setCorreo(rs.getString(3));
                listado.add(usuario);
            }
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listado;
    }  
}
